/*
 * Objets de la map (fantome, pacman, powerball, pacgum)
 */
#ifndef PAC_OBJECT_H
#define PAC_OBJECT_H

#define MOVE_LEFT 0

#define MOVE_RIGHT 1

#define MOVE_UP 2

#define MOVE_DOWN 3

#define NO_MOVE -1

typedef struct PacObject PacObject;

struct PacObject {
    
    // Position horizontale initiale de l'objet
    int initialPosX;
    
    // Position verticale initiale de l'objet
    int initialPosY;
    
    // Position horizontale courante de l'objet
    float posX;
    
    // Position verticale courante de l'objet
    float posY;
    
    // Dernière case horizontale de l'objet
    int lastPosX;
    
    // Dernière case verticale de l'objet
    int lastPosY;
    
    // Valeur du déplacement depuis la dernière case.
    float currentDeplacementValue;
    
    // Déplacement courant de l'objet
    int currentMove;
    
    // Prochain déplacement de l'objet
    int nextMove;
    
    // Dernier déplacement de l'objet (pour le mode FPS)
    int lastMove;
};

PacObject* pacObjectCreate(float posX, float posY);


#endif /* PAC_OBJECT_H*/
